package com.workcenter.base;


import com.ppcodes.core.AsyncTaskManager;
import com.ppcodes.core.ISupportAsyncTask;
import android.app.Activity;

public abstract class UIBase extends Activity implements ISupportAsyncTask
{
   private AsyncTaskManager _taskManager;

   public AsyncTaskManager getTaskManager()
   {
	  if (_taskManager == null)
		 _taskManager = new AsyncTaskManager(this);
	  return _taskManager;
   }
   
   
   /**
    * 执行异步任务
    */
   public String executeAsyncTask()
   {
	  return getTaskManager().executeAsyncTask();
   }

   /**
    * 执行异步任务
    * 
    * @param taskName
    */
   public String executeAsyncTask(String taskName)
   {
	  return getTaskManager().executeAsyncTask(taskName);
   }

   /**
    * 执行异步任务
    * 
    * @param taskName
    */
   public String executeAsyncTask(String taskName, Object[] params)
   {
	  return getTaskManager().executeAsyncTask(taskName, params);
   }

   /**
    * 取消异步任务
    */
   public void cancelAsyncTask()
   {
	  getTaskManager().cancelAsyncTask();
   }

   /**
    * 取消异步任务
    * 
    * @param taskId
    */
   public void cancelAsyncTask(String taskId)
   {
	  getTaskManager().cancelAsyncTask(taskId);
   }

   /**
    * 异步任务开始
    */
   public void onAsyncTaskStart(String taskName, Object[] params)
   {

   }

   /**
    * 异步任务执行
    * 
    * @param taskName
    */
   public Object onAsyncTaskInBackground(String taskName, Object[] params) throws Exception
   {
	  return null;
   }

   /**
    * 异步任务完成
    * 
    * @param arg
    */
   public void onAsyncTaskEnd(String taskId, String taskName, Object[] params, Object result)
   {

   }

   /**
    * 异步任务被取消
    */
   public void onAsyncTaskCancelled(String taskName)
   {

   }

   /**
    * 异步任务发生错误
    * 
    * @param e
    */
   public void onAsyncTaskError(String taskId, String taskName, Exception e)
   {
	  // if (waitDialog != null)
	  // {
	  // waitDialog.dismiss();
	  // waitDialog = null;
	  // }
	  //
	  // if (e != null)
	  // {
	  // String msg = "";
	  // if (e instanceof SocketException)
	  // {
	  // msg = "手机网络不可用或发生网络读写错误";
	  // }
	  // else
	  // {
	  // msg = "手机网络不可用或发生网络读写错误";
	  // }
	  //
	  // if (msg != null && !msg.equals(""))
	  // {
	  // Toast.makeText(this, msg, Toast.LENGTH_SHORT).show();
	  // }
	  // }
   }

}
